home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 9
/
FM Towns Free Software Collection 9.iso
/
t_os
/
tool
/
tokei
/
awase386.bas
< prev
next >
Wrap
BASIC Source File
|
1994-11-16
|
19KB
|
500 lines
1000 'awase386.bas",a
1010 '::::::::::::::::::::::::::::::::::::::
1020 ':: 時計のお勉強 -時刻を合わせよう編-::
1030 ':: ver 1.11 1994/8/16 ::
1040 ':: programed by akihiko hayashi ::
1050 '::::::::::::::::::::::::::::::::::::::
1060 ':::::: 設定 :::::::
1070 CLEAR,,1024,4096
1080 VIEW (0,0)-(639,399):WINDOW (0,0)-(639,399)
1090 CONSOLE ,,0 :WIDTH 80,25 :COLOR 7,0,7,0:CLS 0
1100 DIM TKI(2),XX(2),YY(2),QX(2),QY(2)
1110 'DIM H(2),M(2),AD$(3)
1120 MY=3.14159!*2:H=0:M=0:HK=0:MK=0:HKURI=0
1130 QQ=1:SQ=1:Q=-1:T=0:L=1:FRAG=1:CX=0:CY=0:CR=0:HATA=0
1140 AD$(1)="分が、ちがうよ "
1150 AD$(2)="時間が、ちがうよ "
1160 AD$(3)="時間と分がちがうよ"
1170 ON KEY(10) GOSUB *PF10 'end
1180 GOSUB *SELECT'::: レベル選択::
1190 GOSUB *GAMEN '::: 画面描画 ::
1200 GOSUB *LEVSYN'::: レベル表示::
1210 *MAIN '::: メインルーチン :::
1220 GOSUB *MONDAI ':: 問題作成 ::
1230 GOSUB *HARI1 ':: 針の描画 ::
1240 GOSUB *TOI ':: 問い ::
1250 GOSUB *KAI ':: 回答要求 ::
1260 GOSUB *HANTEI ':: 判定 ::
1270 *MODORI ':: ::
1280 GOSUB *TOKUTEN':: 得点 ::
1290 GOSUB *LEVEL ':: レベル ::
1300 GOTO *MAIN ' ::
1310 '::::::::::::::::::::::::::::
2000 *MONDAI ':::::::: 問題作成 ::
2010 '問題の時刻 : h : m
2020 RANDOMIZE TIME-(INT(TIME/1000)*1000)
2030 HK=INT(RND*12)
2040 IF HK=0 THEN HK=12
2050 IF HK=HO THEN *MONDAI
2060 IF L=1 THEN MK=0
2070 IF L=2 THEN MK=INT(RND*2)*30
2080 IF L=3 THEN MK=INT(RND*6)*10
2090 IF L=3 AND MK= 0 THEN *MONDAI
2100 IF L=4 THEN MK=INT(RND*12)*5
2110 IF L=5 THEN MK=INT(RND*30)
2120 IF L=6 THEN MK=INT(RND*30)+30
2130 IF L=7 THEN MK=INT(RND*60)
2140 IF L=7 AND MK=30 THEN *MONDAI
2150 HO=HK
2160 RETURN
2170 *HARI1 ':: 針の描画 ::::::::::::::::
2180 CX=319:CY=175/2:CR=155
2190 HHH=0 : MMM=0
2200 XX(1)=CX :YY(1)=CY
2210 XX(2)=CX-9 :YY(2)=CY
2220 GOSUB *HARI
2230 RETURN
2240 *TOI': 問い :
2250 GOSUB *KESI
2260 H$=AKCNV$(RIGHT$(STR$(HK),2)): M$=AKCNV$(RIGHT$(STR$(MK),2))
2270 IF MK<>0 THEN 2300
2280 S$=H$+"時に合わせましょう ":CL=3:CLL=7:GOSUB *MES
2290 SX=5:SY=280:S$=H$+"時":SXX=2:SYY=3:CL=3:CLL=1:GOSUB*SYMBOL:RETURN
2300 S$=H$+"時"+M$+"分に合わせましょう ":CL=3:CLL=7:GOSUB *MES
2310 SX=5:SY=280:S$=H$+"時"+M$+"分":SXX=2:SYY=3:CL=3:CLL=1:GOSUB*SYMBOL:RETURN
2320 *KAI': 回答要求 :
2330 GOSUB *GUIDE
2340 GOSUB *KEY
2350 GOSUB *KAKUNIN
2360 IF OK=0 THEN 2330
2370 RETURN
2380 *HANTEI ': 正否判定 :
2390 H=H+M\60 :M=M MOD 60
2400 IF M<0 THEN H=H-1 :M=M+60
2410 H=(H+12) MOD 12
2420 IF H=0 THEN H=12
2430 IF H=HK AND M=MK THEN *SEIKAI ELSE *FUSEIKAI
2440 *FUSEIKAI ': 不正解 :
2450 GOSUB *KESI
2460 IF HK=H AND MK<>M THEN AD=1
2470 IF HK<>H AND MK=M THEN AD=2
2480 IF HK<>H AND MK<>M THEN AD=3
2490 S$="ざんねん! 2点ひくよ ":CL=3:CLL=5:GOSUB *MES
2500 S$=AD$(AD):CL=3:CLL=4:GOSUB *MES
2510 GOSUB *GENTEN
2520 T=T-2
2530 GOSUB *GUIDE
2540 GOSUB *KEY
2550 GOSUB *KAKUNIN
2560 IF OK=0 THEN 2540
2570 GOTO*HANTEI
2580 GOTO *MODORI
2590 *SEIKAI '::::::::: 正解 :::::::::::::
2600 GOSUB *KESIGUIDE
2610 KEY(10) ON:SYMBOL(532,308),"[pf10]",1,1,1:SYMBOL@(580,308),"やめる",1,1,1
2620 S$="せいかい!20点たすよ ":CL=3:CLL=6:GOSUB *MES
2630 GOSUB *KESITOI
2640 T=T+20:H=0:M=0
2650 KEY(10) OFF:GOSUB*KESIGUIDE
2660 GOTO *MODORI
2670 *TOKUTEN ':::::: 点の表示 :::::::::
2680 FOR I=1 TO T-TM
2690 LINE(0,0)-(96,48),PSET,0,BF
2700 IF TM+I<1000 THEN H$=AKCNV$(RIGHT$(STR$(TM+I),3))
2710 IF TM+I<100THEN H$=" "+AKCNV$(RIGHT$(STR$(TM+I),2))
2720 IF TM+I<10 THEN H$=" "+AKCNV$(RIGHT$(STR$(TM+I),1))
2730 SX=0:SY=0:S$=H$:SXX=2:SYY=3:CL=3:CLL=2
2740 GOSUB *SYMBOL
2750 FOR A=1 TO 3 : BEEP 1 :FOR B=0 TO 2 : NEXT B : BEEP 0 :NEXT A
2760 NEXT I
2770 TM=T
2780 RETURN
2790 *GENTEN ':::::::: 減点の表示 :::::::
2800 FOR I=1 TO 2
2810 LINE(0,0)-(96,48),PSET,0,BF
2820 IF TM-I<0 THEN TTT=0 ELSE TTT=TM-I
2830 IF TM-I<1000 THEN H$=AKCNV$(RIGHT$(STR$(TTT),3))
2840 IF TM-I<100 THEN H$=" "+AKCNV$(RIGHT$(STR$(TTT),2))
2850 IF TM-I<10 THEN H$=" "+AKCNV$(RIGHT$(STR$(TTT),1))
2860 SX=0:SY=0:S$=H$:SXX=2:SYY=3:CL=3:CLL=2
2870 GOSUB *SYMBOL
2880 FOR A=1 TO 5 : BEEP 1 :FOR B=0 TO 3 : NEXT B : BEEP 0 :NEXT A
2890 NEXT I
2900 TM=T
2910 RETURN
2920 *LEVEL '::::::::: レベル ::::::::::
2930 IF T>=100 AND T<200 THEN 2940 ELSE 2950
2940 L=2 : GOSUB *OMEDETO : GOSUB *LEVSYN : RETURN
2950 IF T>=200 AND T<300 THEN 2960 ELSE 2970
2960 L=3 : GOSUB *OMEDETO : GOSUB *LEVSYN : RETURN
2970 IF T>=300 AND T<400 THEN 2980 ELSE 2990
2980 L=4 : GOSUB *OMEDETO : GOSUB *LEVSYN : RETURN
2990 IF T>=400 AND T<500 THEN 3000 ELSE 3010
3000 L=5 : GOSUB *OMEDETO : GOSUB *LEVSYN : RETURN
3010 IF T>=500 AND T<600 THEN 3020 ELSE 3030
3020 L=6 : GOSUB *OMEDETO : GOSUB *LEVSYN : RETURN
3030 IF T>=600 AND T<700 THEN 3040 ELSE 3050
3040 L=7 : GOSUB *OMEDETO : GOSUB *LEVSYN : RETURN
3050 IF T>=700 THEN 3060 ELSE RETURN
3060 GOTO *END
3070 *LEVSYN':::::::::::::::::::::::::::::
3080 LINE(510,0)-(639,48),PSET,0,BF
3090 SX=500:SY=0:S$="レベル"+AKCNV$(RIGHT$(STR$(L),1)):SXX=2:SYY=3:CL=3:CLL=5:GOSUB *SYMBOL
3100 RETURN
3110 *END '::::::: エンディング ::::::::
3120 GOSUB *OMEDETO
3130 S$="時計合わせよくできた! ":CL=1:CLL=3:GOSUB *MES
3140 'flush
3150 FOR F=1 TO 300
3160 COLOR=(5,3)
3170 FOR FF=1 TO 100 : NEXT FF
3180 COLOR=(5,0)
3190 FOR FF=1 TO 300 :NEXT FF
3200 COLOR=(6,2)
3210 FOR FF=1 TO 100 : NEXT FF
3220 COLOR=(6,0)
3230 FOR FF=1 TO 300 :NEXT FF
3240 NEXT F
3250 'TRY OR END
3260 LOCATE 25,24:PRINT "1.もう一度 ちょうせん"
3270 LOCATE 25,25:INPUT "2.メニューに もどる ",KRI
3280 IF KRI<1 OR KRI>2 THEN BEEP:LOCATE 25,40:PRINT SPACE$(10):GOTO 3260
3290 IF KRI=1 THEN 1000 ELSE GOSUB*COLRES : RUN "MENU386.BAS"
3300 *PF10
3310 GOSUB*KESI
3320 SX=30:SY=359:S$="やめていいですか":SXX=2:SYY=2:CL=1:CLL=3:GOSUB*SYMBOL
3330 GOSUB*KESIGUIDE:GOSUB*KAKUNIN
3340 IF OK=0 THEN GOSUB*KESI:GOTO 2630
3350 GOSUB*KESI:S$="今回のレベルは"+AKCNV$(RIGHT$(STR$(L),1))+"です":SXX=2:SYY=2:CL=2:CLL=3:GOSUB*MES
3360 GOSUB*COLRES : RUN"menu386.bas"
3370 *OMEDETO ':::::: おめでとう :::::::
3380 IF FRAG=L THEN 3430
3390 FOR N=1 TO 7 : BEEP 1 : FOR B=1 TO 4 : NEXT B : BEEP 0 : NEXT N
3400 SX=210:SY=357:S$="☆おめでとう☆ ":SXX=2:SYY=2:CL=3:CLL=5:GOSUB *SYMBOL
3410 O$=INKEY$:IF O$="" THEN GOSUB*OMEFLUSH : GOTO 3410
3415 GOSUB *KESI
3420 FRAG=FRAG+1
3430 RETURN
3440 *HARI '::::::: 針の描画 :::::::::::::
3450 GOSUB *KESIEN
3460 TKI(1)=MMM:HARI=1 :CL=1 :CL2=3:R=37*CR/190 '長針 CL=色R=長さ
3470 GOSUB *HARINOITI
3480 TKI(2)=HHH MOD 12 :TKI(2)=(TKI(2)+TKI(1)/60)*5
3490 HARI=2 :CL=2 :CL2=3:R=27*CR/190 '短針
3500 GOSUB *HARINOITI
3510 TKI(1)=MMM:HARI=1 :CL=3 :CL2=2:R=33*CR/190
3520 GOSUB *HARIKAKI
3530 TKI(2)=HHH MOD 12 :TKI(2)=(TKI(2)+TKI(1)/60)*5
3540 HARI=2 :CL=2 :CL2=3:R=27*CR/190
3550 GOSUB *HARIKAKI
3570 QQ=1
3580 RETURN
3590 *HARINOITI '::::: 針の位置計算 ::::::
3600 X=SIN(TKI(HARI)/60*MY)*4.8!*R :X=X+CX
3610 Y=-COS(TKI(HARI)/60*MY)*2.15!*R:Y=Y+CY
3620 IF SQ=-1 AND QQ=-1 THEN 3700
3630 LINE(CX,CY*2)-(XX(HARI),YY(HARI)*2),PSET,0
3640 LINE(CX,CY*2+1)-(XX(HARI),YY(HARI)*2+1),PSET,0
3650 LINE(CX,CY*2-1)-(XX(HARI),YY(HARI)*2-1),PSET,0
3660 LINE(CX+1,CY*2)-(XX(HARI)+1,YY(HARI)*2),PSET,0
3670 LINE(CX-1,CY*2)-(XX(HARI)-1,YY(HARI)*2),PSET,0
3680 LINE(CX+1,CY*2+1)-(XX(HARI)+1,YY(HARI)*2+1),PSET,0
3690 LINE(CX-1,CY*2-1)-(XX(HARI)-1,YY(HARI)*2-1),PSET,0
3700 IF QX(HARI)=XX(HARI) THEN LINE (CX,CY*2)-(XX(HARI),YY(HARI)*2),PSET,6
3710 IF SQ=-1 THEN LINE(CX,CY*2)-(QX(2),QY(2)*2),PSET,6
3720 IF SQ=-1 THEN LINE(CX,CY*2)-(QX(1),QY(1)*2),PSET,6
3730 LINE (CX-1,CY*2)-(X-1,Y*2),PSET,CL
3740 LINE (CX,CY*2+1)-(X,Y*2+1),PSET,CL
3750 LINE (CX,CY*2-1)-(X,Y*2-1),PSET,CL
3760 LINE (CX+1,CY*2)-(X+1,Y*2),PSET,CL
3770 LINE (CX-1,CY*2-1)-(X-1,Y*2-1),PSET,CL
3780 LINE (CX+1,CY*2+1)-(X+1,Y*2+1),PSET,CL
3790 LINE (CX,CY*2)-(X,Y*2),PSET,CL2
3800 XX(HARI)=X :YY(HARI)=Y
3810 IF HARI=1 THEN 3850
3820 HH=HHH MOD 12
3830 IF M<>0 OR (ABS(HH)=1 AND ABS(HH)<>11) THEN 3850
3840 LINE (CX,CY*2)-(XX(1),YY(1)*2),PSET,3
3850 IF H=1 AND M=0 THEN LINE (CX,CY*2)-(XX(1),YY(1)*2),PSET,4
3860 RETURN
3870 *HARIKAKI '::::: 針の書き直し :::::::
3880 X=SIN(TKI(HARI)/60*MY)*4.8!*R :X=X+CX
3890 Y=-COS(TKI(HARI)/60*MY)*2.15!*R:Y=Y+CY
3900 IF QX(HARI)=XX(HARI) THEN LINE (CX,CY*2)-(XX(HARI),YY(HARI)*2),PSET,6
3910 IF SQ=-1 THEN LINE(CX,CY*2)-(QX(2),QY(2)*2),PSET,6
3920 IF SQ=-1 THEN LINE(CX,CY*2)-(QX(1),QY(1)*2),PSET,6
3930 LINE (CX-1,CY*2)-(X-1,Y*2),PSET,CL
3940 LINE (CX,CY*2+1)-(X,Y*2+1),PSET,CL
3950 LINE (CX,CY*2-1)-(X,Y*2-1),PSET,CL
3960 LINE (CX+1,CY*2)-(X+1,Y*2),PSET,CL
3970 LINE (CX-1,CY*2-1)-(X-1,Y*2-1),PSET,CL
3980 LINE (CX+1,CY*2+1)-(X+1,Y*2+1),PSET,CL
3990 LINE (CX,CY*2)-(X,Y*2),PSET,CL2
4000 XX(HARI)=X :YY(HARI)=Y
4010 HH=H MOD 12
4020 LINE (CX,CY*2)-(XX(1),YY(1)*2),PSET,3
4030 IF H=1 AND M=0 THEN LINE (CX,CY*2)-(XX(1),YY(1)*2),PSET,4
4040 RETURN
4050 *SELECT::::::::::::::::::::::::::::::::::
4060 TITLE$="時計のおべんきょう -合わせょう-"
4070 LV=7
4080 LV$(1)=" 3時 というもんだい"
4090 LV$(2)=" 3時30分というもんだい"
4100 LV$(3)=" 3時50分というもんだい"
4110 LV$(4)=" 3時15分というもんだい"
4120 LV$(5)=" 3時13分というもんだい"
4130 LV$(6)=" 3時33分というもんだい"
4140 LV$(7)=" * さいごのれんしゅうもんだい *"
4150 ' 選択画面
4160 LINE(0,0)-(639,38),PSET,7,B
4170 LINE(1,1)-(638,37),PSET,7,B
4180 LINE(2,2)-(637,36),PSET,1,BF
4190 LINE(0,37)-(639,38),PSET,0,B
4200 LINE(638,0)-(639,38),PSET,0,B
4210 LINE(0,39)-(639,399),PSET,7,BF
4220 SX=47:SY=4:S$=TITLE$:SXX=2:SYY=2:CL=0:CLL=6:GOSUB *SYMBOLK
4230 FOR LVV=0 TO LV-1
4240 LINE(23,42+LVV*36)-(172,38+36+LVV*36),PSET,4,BF
4250 LINE(21,41+LVV*36)-(174,39+36+LVV*36),PSET,0,B
4260 LINE(20,40+LVV*36)-(175,40+36+LVV*36),PSET,0,B
4270 LINE(20,40+LVV*36)-(175,40+ 1+LVV*36),PSET,5,BF
4280 LINE(20,40+LVV*36)-( 21,40+36+LVV*36),PSET,5,BF
4290 SX=35:SY=42+LVV*36:S$="レベル"+AKCNV$(RIGHT$(STR$(LVV+1),1)):SXX=2:SYY=2:CL=7:CLL=1:GOSUB *SYMBOLK
4300 LINE(178,42+LVV*36)-(601,38+36+LVV*36),PSET,6,BF
4310 LINE(176,41+LVV*36)-(603,39+36+LVV*36),PSET,0,B
4320 LINE(175,40+LVV*36)-(604,40+36+LVV*36),PSET,0,B
4330 LINE(175,40+LVV*36)-(604,40+ 1+LVV*36),PSET,5,BF
4340 LINE(175,40+LVV*36)-(176,40+36+LVV*36),PSET,5,BF
4350 SX=230:SY=42+LVV*36:S$=LV$(LVV+1):SXX=1:SYY=2:CL=7:CLL=1:GOSUB *SYMBOLK
4360 NEXT LVV
4370 '
4380 LVS=1
4390 *LEVXOR
4400 LINE(20,40+(LVS-1)*36)-(175,40+36+(LVS-1)*36),XOR,4,BF
4410 LINE(175,40+(LVS-1)*36)-(604,40+36+(LVS-1)*36),XOR,5,BF
4420 A$=INKEY$ : IF A$="" THEN 4420
4430 LINE(20,40+(LVS-1)*36)-(175,40+36+(LVS-1)*36),XOR,4,BF
4440 LINE(175,40+(LVS-1)*36)-(604,40+36+(LVS-1)*36),XOR,5,BF
4450 IF A$=CHR$(&HD) THEN *LEVKIME
4460 IF A$=CHR$(&H1E) THEN LVS=LVS-1 '↑
4470 IF A$=CHR$(&H1F) THEN LVS=LVS+1 '↓
4480 IF LVS=0 THEN LVS=LV
4490 IF LVS=LV+1 THEN LVS=1
4500 GOTO *LEVXOR
4510 *LEVKIME
4520 L=LVS : FRAG=L
4530 T=(LVS-1)*100 : TM=T
4540 RETURN
4550 CLS : CONSOLE ,,0
5000 *GAMEN '::::: gamen ::::: for AwaseruTokei
5010 COLOR=(5,0) : COLOR=(6,0) : CLS
5020 ': shape :
5030 CIRCLE(319,175),203,1,.85!,.75!-.1!,.75!+.1!
5040 LINE(319-118,35)-(319-266,103),PSET,1
5050 LINE(319+118,35)-(319+266,103),PSET,1
5060 CIRCLE(319-244,173),72,1,1,.5!,.7!
5070 CIRCLE(319+244,173),72,1,1,.8!,1
5080 LINE(319-316,175)-(319-317,322),PSET,1
5090 LINE(319+316,175)-(319+317,322),PSET,1
5100 CIRCLE(319-294,322),23,1,1,.25!,.5!
5110 CIRCLE(319+294,322),23,1,1,0,.25!
5120 LINE(319-296,345)-(319+296,345),PSET,1
5130 CIRCLE(319-244,89),54,1,.59!,.38!,.75!
5140 CIRCLE(319+244,89),54,1,.59!,.75!,.12!
5150 LINE(319-244,57)-(319-164,57),PSET,1
5160 LINE(319+244,57)-(319+164,57),PSET,1
5170 C=3
5180 CIRCLE(319,176),203,C,.85!,.75!-.1!,.75!+.1!
5190 LINE(319-118,36)-(319-266,104),PSET,C
5200 LINE(319+118,36)-(319+266,104),PSET,C
5210 CIRCLE(319-244,174),72,C,1,.5!,.7!
5220 CIRCLE(319+244,174),72,C,1,.8!,1
5230 LINE(319-315,173)-(319-316,322),PSET,C
5240 LINE(319+315,173)-(319+316,322),PSET,C
5250 CIRCLE(319-294,321),23,C,1,.25!,.5!
5260 CIRCLE(319+294,321),23,C,1,0,.25!
5270 LINE(319-296,344)-(319+296,344),PSET,C
5280 CIRCLE(319-244,90),54,C,.59!,.38!,.75!
5290 CIRCLE(319+244,90),54,C,.59!,.75!,.12!
5300 LINE(319-244,58)-(319-164,58),PSET,C
5310 LINE(319+244,58)-(319+164,58),PSET,C
5320 C=2
5330 CIRCLE(319,177),203,C,.85!,.75!-.1!,.75!+.1!
5340 LINE(319-118,37)-(319-266,105),PSET,C
5350 LINE(319+118,37)-(319+266,105),PSET,C
5360 CIRCLE(319-243,175),72,C,1,.5!,.7!
5370 CIRCLE(319+243,175),72,C,1,.8!,1
5380 LINE(319-314,173)-(319-315,322),PSET,C
5390 LINE(319+314,173)-(319+315,322),PSET,C
5400 CIRCLE(319-293,320),23,C,1,.25!,.5!
5410 CIRCLE(319+293,320),23,C,1,0,.25!
5420 LINE(319-296,343)-(319+296,343),PSET,C
5430 CIRCLE(319-243,90),54,C,.59!,.38!,.75!
5440 CIRCLE(319+243,90),54,C,.59!,.75!,.12!
5450 LINE(319-244,59)-(319-164,59),PSET,C
5460 LINE(319+244,59)-(319+164,59),PSET,C
5470 PAINT(319-244,89),5,1,2,3
5480 PAINT(319+244,89),5,1,2,3
5490 ': box :
5500 LINE(0,348)-(639,348),PSET,1,B
5510 LINE(0,349)-(639,349),PSET,3,B
5520 LINE(0,399)-(639,399),PSET,1,B
5530 LINE(0,398)-(639,398),PSET,3,B
5540 SX=100:SY=0:S$="点":SXX=2:SYY=3:CL=3:CLL=2:GOSUB*SYMBOL
5550 '時計盤描画
5560 R=165
5570 MY=3.14159!*2:CX=319:CY=175/2:CR=165:GOSUB *MEMORI
5580 RETURN
5590 *MEMORI '::::::: 目盛 ::::::::::::
5600 FOR I=1 TO 60
5610 X1=SIN(M+I/60*MY)*4.8!*39*CR/190 :X1=X1+CX
5620 Y1=-COS(M+I/60*MY)*2.15!*39*CR/190 :Y1=Y1+CY
5630 IF (I MOD 5)<>0 THEN 5680
5640 IF I=60 THEN CIRCLE(X1,Y1*2),5,2
5650 IF I=60 OR I=30 OR I=15 OR I=45 THEN CIRCLE(X1,Y1*2),4,3
5660 IF I=60 OR I=30 OR I=15 OR I=45 THEN CIRCLE(X1,Y1*2),3,2
5670 CIRCLE(X1,Y1*2),2,3
5680 CIRCLE(X1,Y1*2),1,2
5690 PSET(X1,Y1*2),3
5700 NEXT
5710 RETURN
6000 *GUIDE': guide :
6010 LINE(548,255)-(566,281),PSET,3,B
6020 LINE(514,277)-(540,295),PSET,3,B
6030 LINE(548,290)-(566,316),PSET,3,B
6040 LINE(574,277)-(600,295),PSET,3,B
6050 CONNECT(551,265)-(557,259)-(563,265),3
6060 CONNECT(552,265)-(557,260)-(562,265),2
6070 LINE(556,262)-(558,277),PSET,3,B
6080 LINE(557,261)-(557,277),PSET,2
6090 CONNECT(524,292)-(518,286)-(524,280),3
6100 CONNECT(524,291)-(519,286)-(524,281),2
6110 LINE(521,285)-(536,287),PSET,3,B
6120 LINE(520,286)-(536,286),PSET,2
6130 CONNECT(551,306)-(557,312)-(563,306),3
6140 CONNECT(552,306)-(557,311)-(562,306),2
6150 LINE(556,294)-(558,309),PSET,3,B
6160 LINE(557,294)-(557,310),PSET,2
6170 CONNECT(590,280)-(596,286)-(590,292),3
6180 CONNECT(590,281)-(595,286)-(590,291),2
6190 LINE(578,285)-(593,287),PSET,3,B
6200 LINE(578,286)-(594,286),PSET,2
6210 SYMBOL@(549,234),"分",1,1,1
6220 SYMBOL@(549,322),"分",1,1,1
6230 SYMBOL@(493,278),"時",1,1,1
6240 SYMBOL@(608,278),"時",1,1,1
6250 SYMBOL@(489,247),"もどる",1,1,2
6260 SYMBOL@(582,308),"すすむ",1,1,2
6270 RETURN
6280 *KEY ': キーの判別 :
6290 A$=INKEY$ :IF A$="" THEN 6290
6300 IF A$=CHR$(&H0D) THEN RETURN
6310 IF A$="5" THEN M=0
6320 IF A$=CHR$(&H1F) THEN M=M+1
6330 IF A$="3" THEN M=M+1
6340 IF A$=CHR$(&H1E) THEN M=M-1
6350 IF A$="1" THEN M=M-1
6360 IF A$=CHR$(&H1D) THEN M=M-60
6370 IF A$="7" THEN M=M-60
6380 IF A$=CHR$(&H1C) THEN M=M+60
6390 IF A$="9" THEN M=M+60
6400 IF A$="6" THEN M=M+10
6410 IF A$="4" THEN M=M-10
6420 HHH=H : MMM=M
6430 GOSUB *HARI
6440 GOTO 6290
6450 RETURN
6460 *KAKUNIN':::::::::: 確認 ::::::::::
6470 GOSUB *KESIGUIDE
6480 GOSUB *YA
6490 SYMBOL@(498,247),"い い",1,1,3,,NOT
6500 SYMBOL@(568,247),"なおす",1,1,3,,PSET
6510 HATA=0 :A$=""
6520 *K1
6530 A$=INKEY$ : IF A$="" THEN *K1
6540 IF A$=CHR$(&H1C) OR A$="3" OR A$="6" OR A$="9" THEN 6610
6550 IF A$=CHR$(&H1D) OR A$="1" OR A$="4" OR A$="7" THEN 6470
6560 IF A$=CHR$(&HD) AND HATA=1 THEN GOTO 6590
6570 IF A$=CHR$(&HD) AND HATA=0 THEN GOTO 6600
6580 GOTO 6470
6590 GOSUB *KESIGUIDE : A$="" : OK=0 : RETURN
6600 GOSUB *KESIGUIDE : A$="" : OK=1 : RETURN
6610 GOSUB *KESIGUIDE
6620 GOSUB *YA
6630 SYMBOL@(498,247),"い い",1,1,3,,PSET
6640 SYMBOL@(568,247),"なおす",1,1,3,,NOT
6650 HATA=1 : A$=""
6660 GOTO *K1
6670 RETURN
6680 *YA ':カーソルキ~表示 :
6690 LINE(514,277)-(540,295),PSET,3,B
6700 LINE(574,277)-(600,295),PSET,3,B
6710 CONNECT(524,292)-(518,286)-(524,280),3
6720 CONNECT(524,291)-(519,286)-(524,281),2
6730 LINE(521,285)-(536,287),PSET,3,B
6740 LINE(520,286)-(536,286),PSET,2
6750 CONNECT(590,280)-(596,286)-(590,292),3
6760 CONNECT(590,281)-(595,286)-(590,291),2
6770 LINE(578,285)-(593,287),PSET,3,B
6780 LINE(578,286)-(594,286),PSET,2
6790 RETURN
6800 *KESI ': kesibox :
6810 LINE(26,357)-(613,390),PSET,0,BF
6820 RETURN
6830 *KESITOI ': kesitoi :
6840 LINE(5,280)-(197,330),PSET,0,BF
6850 RETURN
6860 *KESIGUIDE ':kesi guide :
6870 LINE(489,234)-(628,338),PSET,0,BF
6880 RETURN
6890 *KESIEN ':::: :::::::::::::
6900 CIRCLE(319,175),155-5,0,.9!,,,F
6910 RETURN
6920 *SYMBOL'::::::: SYMBOL@::::::::
6930 SYMBOL@(SX,SY),S$,SXX,SYY,CL
6940 SYMBOL@(SX+2,SY),S$,SXX,SYY,CL
6950 SYMBOL@(SX+2,SY+2),S$,SXX,SYY,CL
6960 SYMBOL@(SX,SY+2),S$,SXX,SYY,CL
6970 SYMBOL@(SX+1,SY+1),S$,SXX,SYY,CLL
6980 RETURN
6990 *SYMBOLC'::::: SYMBOL :::::::::
7000 SYMBOL(SX,SY),S$,SXX,SYY,CL
7010 SYMBOL(SX+2,SY),S$,SXX,SYY,CL
7020 SYMBOL(SX+2,SY+2),S$,SXX,SYY,CL
7030 SYMBOL(SX,SY+2),S$,SXX,SYY,CL
7040 SYMBOL(SX+1,SY+1),S$,SXX,SYY,CLL
7050 RETURN
7060 *SYMBOLK'::::::: SYMBOL@::::::::
7070 SYMBOL@(SX+1,SY+1),S$,SXX,SYY,CL
7080 SYMBOL@(SX+2,SY+1),S$,SXX,SYY,CL
7090 SYMBOL@(SX,SY),S$,SXX,SYY,CLL
7100 RETURN
7110 *MES ': message :
7120 SX=33:SY=357:SXX=2:SYY=2
7130 FOR I=2 TO KLEN(S$)*2+25 STEP 2
7140 B$=LEFT$(S$,I)
7150 SYMBOL@(639-I*16,359),B$,2,2,7
7160 IF I*16-KLEN(S$)/2*16>360 AND I*16-KLEN(S$)/2*16<=390 THEN TT=0 ELSE TT=1
7170 IF TT=0 THEN I$=INKEY$ : IF I$="" THEN 7170
7180 LINE(639-I*16,359)-(639-I*16+KLEN(S$)*32,392),PSET,0,BF
7190 NEXT
7200 RETURN
7210 *OMEFLUSH
7220 FOR F=1 TO 30
7230 COLOR=(5,3)
7240 FOR FF=1 TO 100 : NEXT FF
7250 COLOR=(5,0)
7260 FOR FF=1 TO 100 :NEXT FF
7270 COLOR=(5,2)
7280 FOR FF=1 TO 100 : NEXT FF
7290 COLOR=(5,0)
7300 FOR FF=1 TO 100 :NEXT FF
7310 NEXT F
7320 RETURN
7330 *COLRES
7340 FOR C=0 TO 7
7350 COLOR=(C,C)
7360 NEXT
7370 RETURN
8000 ':::::::::::::::: end of the program ::::::::::::::★akihikoHayashi★